package com.iteaj.iot.taos;

import java.util.List;

public interface TaosSqlManager {

    /**
     * 解析实体参数到插入sql语句
     * @param entityClass
     * @return 返回insert sql
     */
    EntityMetas getSql(Class entityClass);

    /**
     * 解析实体到sql上下文
     * @param entity
     * @return
     */
    SqlContext getSql(Object entity);

    /**
     * 解析批量实体到sql上下文
     * @param entityClass
     * @param entities 所有的对象必须是 {@code entityClass}的实例
     * @return
     */
    SqlContext getSql(Class entityClass, List<Object> entities);

    /**
     * 执行
     * @param entity
     * @param handle
     */
    void execute(Object entity, TaosHandle handle);
}
